<?php

/**
 * Description of RepoDetalleComprobante
 *
 * @author  Mariano Renkine
 * @author  Fernando Arau
 */
class RepoPermisoTemporal extends Repositorio
{

  function __construct()
  {
    $this->tabla = "permiso_temporal";
    $this->id = "idPermisoTemporal";
  }

  function agregar(PermisoTemporal $permisoTemporal)
  {
    $link = $this->OpenDB();
    $this->beginTransaction();
    try
    {
      $query = "INSERT INTO " . $this->tabla . " (grupo, usuarioAsignado, usuarioAsigna, fecha, horaDesde, horaHasta) values ( ";
      $query .= $permisoTemporal->getGrupo() . ", ";
      $query .= $permisoTemporal->getUsuarioAsignado() . ", ";
      $query .= "1, ";
      $query .= "'" . $this->SqlDate($permisoTemporal->getFechaDesde()) . "', ";
      $query .= $permisoTemporal->getHoraDesde() .", ";
      $query .= $permisoTemporal->getHoraHasta() . ") ";
      $result = $this->PostSQL($query);
      $this->commitTransaction();
      $this->CloseDB($link);
      return $result;
    } catch (Exception $ex)
    {
      return $ex;
    }
  }

  function listarPermisoTemporalUsuario($usuario)
  {
    $link = $this->OpenDB();
    $usuariosS = new UsuarioServicios();
    $grupoS = new GrupoServicios();
    $query = $this->GetSQL("SELECT idPermisoTemporal, grupo, usuarioAsignado, usuarioAsigna, fecha, horaDesde, horaHasta FROM " . $this->tabla);
    $this->CloseDB($link);
    $permisosTemporales = Array();
    if ($query)
    {
      for ($i = 0; $i < count($query); $i++)
      {
        $permisosTemporales[$i] = new PermisoTemporal();
        $permisosTemporales[$i]->setId($query[$i]->idPermisoTemporal);
        $permisosTemporales[$i]->setUsuarioAsigna($usuariosS->buscar($query[$i]->usuarioAsigna));
        $permisosTemporales[$i]->setUsuarioAsignado($usuariosS->buscar($query[$i]->usuarioAsignado));
        $permisosTemporales[$i]->setGrupo($grupoS->buscar($query[$i]->grupo));
        $permisosTemporales[$i]->setFechaDesde($query[$i]->fecha);
        $permisosTemporales[$i]->setHoraDesde($query[$i]->horaDesde);
        $permisosTemporales[$i]->setHoraHasta($query[$i]->horaHasta);
      }
    }
    return $permisosTemporales;
  }

}

?>
